﻿Imports DTO
Imports DAO
Imports BUS


Public Class frmCapNhatTinhTrangNhanVien : Inherits DevComponents.DotNetBar.Office2007Form

    ' Hàm reset
    Private Sub Reset()
        'txtTenBangCap.Text = ""
        txtMaTinhTrang.Text = ""
        txtTenTinhTrangMoi.Text = ""
    End Sub

    ' Hàm kiểm tra dữ liệu khi thêm
    Private Function KiemTraDuLieuThem() As Boolean
        Return txtTenTinhTrang.Text <> ""
    End Function

    ' Khi nhấn nút Thoát
    Private Sub btnThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Close()
    End Sub

    ' Hàm thực hiện thêm tình trạng nhân viên
    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        If KiemTraDuLieuThem() Then
            Dim kt As Integer = New CTinhTrangNhanVienBUS().ThemTinhTrangNhanVien(txtTenTinhTrang.Text)
            If (kt = 0) Then
                MessageBox.Show("Tên tình trạng này đã tồn tại này đã tồn tại!", "Thong Bao")
                txtTenTinhTrang.Text = ""
                Return
            Else
                MessageBox.Show("Đã thêm thành công!", "Thong Bao")
                txtTenTinhTrang.Text = ""
                Dim listtinhtrangnhanvien As List(Of CTinhTrangNhanVienDTO) = New CTinhTrangNhanVienBUS().LayDanhSachTinhTrangNhanVien()
                dgvDanhSachTinhTrang.Rows.Clear()
                stt = 1
                For Each tinhtrangnhanvien As CTinhTrangNhanVienDTO In listtinhtrangnhanvien
                    dgvDanhSachTinhTrang.Rows.Add(stt, tinhtrangnhanvien.Ma, tinhtrangnhanvien.Ten)
                    stt += 1
                Next
                Return
            End If
        Else
            MessageBox.Show("Dữ liệu không hợp lệ!", "Thong Bao")
            txtTenTinhTrang.Focus()
            Return
        End If

    End Sub

    Private stt As Integer

    ' Hàm load
    Private Sub frmCapNhatTinhTrangNhanVien_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        stt = 1
        dtiNgayCapNhat.Value = DateTime.Now

        ' Load danh sách lý do thanh lý vào trong datagridview:
        Dim listtinhtrangdausach As List(Of CTinhTrangDauSachDTO) = New CTinhTrangDauSachBUS().LayDanhSachTinhTrangDauSach()
        dgvDanhSachTinhTrang.Rows.Clear()
        For Each tinhtrangdausach As CTinhTrangDauSachDTO In listtinhtrangdausach
            dgvDanhSachTinhTrang.Rows.Add(stt, tinhtrangdausach.Ma, tinhtrangdausach.Ten)
            stt += 1
        Next
    End Sub


    ' Xử lý khi chọn vào dòng nào trong datagridview thì ta load nó lên cập nhật:
    Private Sub dgvDanhSachTinhTrang_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvDanhSachTinhTrang.CellClick
        Dim index As Integer = e.RowIndex
        If index < 0 Then
            If txtTenTinhTrang.Text <> "" Then
                Reset()
            End If
            Return
        End If

        If (index >= dgvDanhSachTinhTrang.Rows.Count) Then
            If (txtMaTinhTrang.Text <> "") Then
                Reset()
            End If
            Return
        End If

        Dim dr As DataGridViewRow = dgvDanhSachTinhTrang.Rows(index)
        txtMaTinhTrang.Text = dr.Cells("clMaTinhTrang").Value
        txtTenTinhTrangMoi.Text = dr.Cells("clTenTinhTrang").Value

    End Sub


    Private Sub btnCapNhat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
        Dim tinhtrangnhanvien As New CTinhTrangNhanVienDTO()
        If (Not Integer.TryParse(txtMaTinhTrang.Text, tinhtrangnhanvien.Ma)) Then
            MessageBox.Show("Cần chọn trình trạng muốn cập nhật!", "Thong Bao")
            Return
        End If
        If (txtTenTinhTrangMoi.Text = "") Then
            MessageBox.Show("Cần nhập tên tình trạng mới để cập nhật!", "Thong Bao")
            txtTenTinhTrangMoi.Focus()
            Return
        End If

        tinhtrangnhanvien.Ten = txtTenTinhTrangMoi.Text

        Dim tinhtrangnhanvienbus As New CTinhTrangNhanVienBUS()
        Dim kq As Integer = tinhtrangnhanvienbus.CapNhatTenTinhTrangNhanVien(tinhtrangnhanvien)
        If (kq = 0) Then
            MessageBox.Show("Tên tình trạng này đã có", "Thong Bao")
            Return
        Else
            MessageBox.Show("Đã cập nhật thành công!", "Thong Bao")
            Reset()
            dgvDanhSachTinhTrang.Rows.Clear()
            Dim listtinhtrangnhanvien As List(Of CTinhTrangNhanVienDTO) = New CTinhTrangNhanVienBUS().LayDanhSachTinhTrangNhanVien()
            stt = 1
            For Each ttnv As CTinhTrangNhanVienDTO In listtinhtrangnhanvien
                dgvDanhSachTinhTrang.Rows.Add(stt, ttnv.Ma, ttnv.Ten)
                stt += 1
            Next
            Return
        End If

    End Sub


    Private Sub LabelX4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelX4.Click

    End Sub
End Class